#!/bin/bash

:<<EOF


数字关系运算符 :
#-gt           大于
#-lt           小于
#-eq           等于
#-ne           不等于
#-ge           大于等于
#-le           小于等于


shell 为啥不用  <  或者 >  作为大于, 小于呢?
就是因为 <  和 >  已经被用于 输入输出流指令了, 不能 作为 比较运算符 ;
如果你一旦 在 if [ ]  用 < 或者 > 作为比较运算符, 那么可能导致 无法预料的后果 ;


EOF





a=10
b=20





if  [ $a > $b  ]; then
    echo  " [] is  not  support    >   "
fi

if  [ $b  <  $a  ] ;  then
    echo  " [] is  not  support  <  "
fi

if  [[ $b  <  $a  ]] ;  then
    echo  " [[ ]] is  not  support  <  "
fi


if [ $a == $b  ]  ; then
    echo 'a==b'
else
    echo "a != b "
fi


if [ $a -eq $b  ]  ; then
    echo 'a  equals  b'
else
    echo "a is not  equal  to  b "
fi


if  [  $a != $b  ] ; then
    echo "a != b "
else
    echo "a == b "
fi


#  关系运算符只支持数字，不支持字符串，除非字符串的值是数字。

if  [  $a  -gt $b  ] ; then
echo   "  a  > b "
fi




if [ $a  -lt $b  ] ; then
    echo   " a < b "
fi


if [[  $a  -gt  $b  ]] ; then

    echo  "$a  -gt  $b "
else
    echo  "$a  -le  $b "
fi





a=30 ;  b=80

if [[ $a -lt 100 && $b -gt 50 ]] ; then
    echo "返回 true"
else
    echo "返回 false"
fi



if [[ $a -lt 100 ]] &&  [[  $b -gt 50 ]] ; then
    echo "返回 true"
else
    echo "返回 false"
fi


if [[ $a -lt 100 ]] &&  [[  $b -gt 100 ]] ; then
    echo "返回 true"
else
    echo "返回 false"
fi











